package com.lb.uts.service.manager;

import com.lb.uts.entity.WaitJob;

import java.util.ArrayList;
import java.util.List;

/**
 * 任务依赖管理，负责将暂时挂起的定时任务放入队列。定时任务，将可以执行的定时任务，继续执行。
 *
 * @author liangb
 * @version 3.0
 * @date 2019/4/29 15:48
 */
public class DependManager {

    public static volatile List<WaitJob> waitJobList = new ArrayList<>(100);

    /**
     * 新增等待任务
     * <p>
     * 对于一个有前置任务的定时任务来说，如果有前置任务在执行，此时
     * 需要先将这个定时任务挂起，等待前置任务执行完毕。
     * </p>
     */
    public static void addWaitJob(WaitJob waitJob) {
        waitJobList.add(waitJob);
    }

    /**
     * 移除等待任务
     * <p>
     * 当一个挂起的任务执行完毕后，需要移除。
     * </p>
     */
    public static void removeWaitJob(WaitJob job) {
        waitJobList.remove(job);
    }

}
